1. <
robotics> Manipulator Language. IBM language for handling
robots.
2. Meta Language. R. Milner <
rm@lfcs.edinburgh.ac.uk> et al,
1973. A
strict higher-order functional language. It
was the first language to include
polymorphic typing which
was statically-checked. It also had
garbage collection and
a formal
semantics.
It began as the
metalanguage for the Edinburgh
LCF proof
assistant. (LCF="Logic for Computable Functions") People soon
noticed that
ML could be a useful general programming language
and stand-alone versions were implemented.
Standard ML
(SML) is a descendant of these (and related languages such as
Hope).
The "metalanguage" aspect has long since disappeared from the
language itself (although there are some systems that still
use it that way). The historical name is now so inappropriate
that asking what
ML stands for is like asking what
C or
Unix stands for. It doesn't stand for anything; it just is.
LCF
ML was implemented in
Stanford LISP. Cardelli (1981)
implemented
ML in
Pascal using the {Functional Abstract
Machine} (FAM). It has been significantly redesigned to
produce
Standard ML and
Lazy ML.
[
"A Metalanguage for Interactive Proof in LCF", M.J.C. Gordon
et al, 5th POPL, ACM 1978].
(2006-07-21)